#pragma once

/**
* This interface represents an object which could be animated
*
* The basic idea is: every so often the object's method NextFrame is called
* and it changes some internal state of the object.
* The most often approach probably will be implementing IRenderable
* and changing GetType() so it returns different values on each frame.
*/
class IAnimated
  {
  public:
    virtual void NextFrame() = 0;
		virtual std::string GetName() const  = 0;
    virtual ~IAnimated() = 0 {};
  };
